[MinIO]mcで複数ユーザーを一括で作成する方法
- t_o_dと申します。
- ローカル上に構築するS3互換ストレージとしてMinIOを利用しています。
- MinIOではストレージ機能の他にユーザーやグループ作成機能があり、またそれをmcというクライアントツールでCLIで操作することも可能です。
- そこで今回はmcを利用してユーザー一覧ファイルから複数ユーザーを一括で作成する方法を記録いたします。
環境
- mac OS Monterey 13.0
- Docker 20.10.17
- Docker Compose 2.11.1
準備
対象ストレージの用意
- 操作対象となるMinIOを用意してください。
- ※用意していない場合、こちらの記事の「準備→対象ストレージ」欄をご参考にDocker Composeで用意してください。
- 用意できたら対象MinIOサーバーにアクセス(例ではlocalhost:9000)して、以下のようにユーザーがまだいないことを確認します。
mcのインストール及び接続設定
- MinIOクライアントツールのmcを用意してください。
- ※用意していない場合、こちらの記事の「準備→mcのインストール」欄をご参考にDockerで用意してください。
- 用意できたら以下のコマンドでmc接続設定を確認してください。
- ※今回の例ではエイリアス名を「myminio」で設定したMinIOサーバーを利用します。
# 確認 mc alias list myminio URL : http://host.docker.internal:9000 ***************************
- 適切に設定できたら準備は以上です。
手順
ユーザー一覧ファイル作成
- 今回は10人分のユーザーを作成することにします。
- そのため以下のコマンドで10人分の「ユーザー名・パスワード」の情報を持ったダミーユーザーファイルを作成します。
- ファイル名 : 「users」
# ダミーユーザーファイル作成 cat /dev/urandom | base64 | fold -w 20 | head -n10 | awk '{print "user_" NR,$1}' > users # 中身確認 cat users user_1 xxxxxx user_2 xxxxxx user_3 xxxxxx ********
mcでのユーザー作成
- ファイル作成後、そのファイルを元にmcで複数ユーザーを作成します。
- まずmcでユーザーを新規作成する場合は以下の形式です。
- ※デフォルトではアクセスのみでポリシーは何も設定されていません。
# 引数形式 mc admin user add エイリアス名 ユーザー名 パスワード # 対話式 mc admin user add エイリアス名 # 標準入力 echo -e "ユーザー名\nパスワード" | mc admin user add エイリアス名
- なので以下のコマンドをうち、ループで逐次mcでのユーザー作成処理を行います。
cat users | while read -r line; do mc admin user add myminio $line; done Added user `user_1` successfully. Added user `user_2` successfully. *****
- 実行後、管理者でMinIOにアクセスしてユーザーが作成されているか確認します。
- 確認できたらサインアウトして、作成されたユーザー情報でログインができるか確認します。
- ※以下では例として「users」ファイルに記載の「user_10」の情報でログインしています。
- 正常にログインできれば完了です。
まとめ
- MinIOでは様々な機能が存在しており、またmcでも操作できるのが利点です。
- 今後も他の機能を調査して活用していきたいと思います。
参考
アノテーション株式会社について
アノテーション株式会社は、クラスメソッド社のグループ企業として「オペレーション・エクセレンス」を担える企業を目指してチャレンジを続けています。「らしく働く、らしく生きる」のスローガンを掲げ、様々な背景をもつ多様なメンバーが自由度の高い働き方を通してお客様へサービスを提供し続けてきました。現在当社では一緒に会社を盛り上げていただけるメンバーを募集中です。少しでもご興味あれば、アノテーション株式会社WEBサイトをご覧ください。